![]() |
Sensor Fusion for Kinetis MCUs (ISSDK/KSDK version)
|
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | MagBuffer |
| struct | MagCalibration |
Macros | |
| #define | F_USING_MAG 0x0002 |
| #define | DEFAULTB 50.0F |
Magnetic Calibration Constants | |
| #define | MAGBUFFSIZEX 14 |
| #define | MAGBUFFSIZEY (2 * MAGBUFFSIZEX) |
| #define | MINMEASUREMENTS4CAL 110 |
| #define | MINMEASUREMENTS7CAL 220 |
| #define | MINMEASUREMENTS10CAL 330 |
| #define | MAXMEASUREMENTS 360 |
| #define | CAL_INTERVAL_SECS 300 |
| #define | MINBFITUT 10.0F |
| #define | MAXBFITUT 90.0F |
| #define | FITERRORAGINGSECS 86400.0F |
| #define | MESHDELTACOUNTS 50 |
Typedefs | |
| typedef struct MagBuffer | MagBuffer |
| typedef struct MagCalibration | MagCalibration |
Functions | |
Function prototypes for functions in magnetic.c | |
These functions comprise the core of the magnetic calibration features of the library. Parameter descriptions are not included here, as details are provided in sensor_fusion.h. | |
| void | fInitializeMagCalibration (struct MagCalibration *pthisMagCal, struct MagBuffer *pthisMagBuffer) |
| void | iUpdateMagBuffer (struct MagBuffer *pthisMagBuffer, struct MagSensor *pthisMag, int32_t loopcounter) |
| void | fInvertMagCal (struct MagSensor *pthisMag, struct MagCalibration *pthisMagCal) |
| void | fRunMagCalibration (struct MagCalibration *pthisMagCal, struct MagBuffer *pthisMagBuffer, struct MagSensor *pthisMag, int32_t loopcounter) |
| void | fUpdateMagCalibration4 (struct MagCalibration *pthisMagCal, struct MagBuffer *pthisMagBuffer, struct MagSensor *pthisMag) |
| void | fUpdateMagCalibration7 (struct MagCalibration *pthisMagCal, struct MagBuffer *pthisMagBuffer, struct MagSensor *pthisMag) |
| void | fUpdateMagCalibration10 (struct MagCalibration *pthisMagCal, struct MagBuffer *pthisMagBuffer, struct MagSensor *pthisMag) |
| void | fUpdateMagCalibration4Slice (struct MagCalibration *pthisMagCal, struct MagBuffer *pthisMagBuffer, struct MagSensor *pthisMag) |
| void | fUpdateMagCalibration7Slice (struct MagCalibration *pthisMagCal, struct MagBuffer *pthisMagBuffer, struct MagSensor *pthisMag) |
| void | fUpdateMagCalibration10Slice (struct MagCalibration *pthisMagCal, struct MagBuffer *pthisMagBuffer, struct MagSensor *pthisMag) |
Many developers can utilize the NXP Sensor Fusion Library without ever making any adjustment to the lower level magnetic calibration functions defined in this file.
Definition in file magnetic.h.
| #define CAL_INTERVAL_SECS 300 |
300s or 5min interval for regular calibration checks
Definition at line 50 of file magnetic.h.
Referenced by fRunMagCalibration().
| #define DEFAULTB 50.0F |
| #define F_USING_MAG 0x0002 |
Definition at line 38 of file magnetic.h.
Referenced by CreateAndSendPackets(), FXOS8700_Idle(), FXOS8700_Init(), FXOS8700_ReadMagData(), initSensorFusionGlobals(), MAG3110_Idle(), MAG3110_Init(), and MAG3110_Read().
| #define FITERRORAGINGSECS 86400.0F |
24 hours: time (s) for fit error to increase (age) by e=2.718
Definition at line 53 of file magnetic.h.
Referenced by fRunMagCalibration().
| #define MAGBUFFSIZEX 14 |
x dimension in magnetometer buffer (12x24 equals 288 elements)
Definition at line 44 of file magnetic.h.
Referenced by CreateAndSendPackets(), fComputeMagCalibration10(), fComputeMagCalibration4(), fComputeMagCalibration7(), fInitializeMagCalibration(), fRunMagCalibration(), fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), fUpdateMagCalibration7Slice(), and iUpdateMagBuffer().
| #define MAGBUFFSIZEY (2 * MAGBUFFSIZEX) |
y dimension in magnetometer buffer (12x24 equals 288 elements)
Definition at line 45 of file magnetic.h.
Referenced by CreateAndSendPackets(), fComputeMagCalibration10(), fComputeMagCalibration4(), fComputeMagCalibration7(), fInitializeMagCalibration(), fRunMagCalibration(), fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), fUpdateMagCalibration7Slice(), and iUpdateMagBuffer().
| #define MAXBFITUT 90.0F |
maximum acceptable geomagnetic field B (uT) for valid calibration
Definition at line 52 of file magnetic.h.
Referenced by fRunMagCalibration().
| #define MAXMEASUREMENTS 360 |
maximum number of measurements used for calibration
Definition at line 49 of file magnetic.h.
Referenced by iUpdateMagBuffer().
| #define MESHDELTACOUNTS 50 |
magnetic buffer mesh spacing in counts (here 5uT)
Definition at line 54 of file magnetic.h.
Referenced by iUpdateMagBuffer().
| #define MINBFITUT 10.0F |
minimum acceptable geomagnetic field B (uT) for valid calibration
Definition at line 51 of file magnetic.h.
Referenced by fRunMagCalibration().
| #define MINMEASUREMENTS10CAL 330 |
minimum number of measurements for 10 element calibration
Definition at line 48 of file magnetic.h.
Referenced by fRunMagCalibration().
| #define MINMEASUREMENTS4CAL 110 |
minimum number of measurements for 4 element calibration
Definition at line 46 of file magnetic.h.
Referenced by fRunMagCalibration().
| #define MINMEASUREMENTS7CAL 220 |
minimum number of measurements for 7 element calibration
Definition at line 47 of file magnetic.h.
Referenced by fRunMagCalibration().
The Magnetometer Measurement Buffer holds a 3-dimensional "constellation" of data points.
The constellation of points are used to compute magnetic hard/soft iron compensation terms. The contents of this buffer are updated on a continuing basis.
| typedef struct MagCalibration MagCalibration |
Magnetic Calibration Structure.
| void fInitializeMagCalibration | ( | struct MagCalibration * | pthisMagCal, |
| struct MagBuffer * | pthisMagBuffer | ||
| ) |
Definition at line 41 of file magnetic.c.
Referenced by DecodeCommandBytes(), and initializeFusionEngine().
Here is the call graph for this function:
Here is the caller graph for this function:| void fInvertMagCal | ( | struct MagSensor * | pthisMag, |
| struct MagCalibration * | pthisMagCal | ||
| ) |
Definition at line 297 of file magnetic.c.
Referenced by processMagData().
Here is the caller graph for this function:| void fRunMagCalibration | ( | struct MagCalibration * | pthisMagCal, |
| struct MagBuffer * | pthisMagBuffer, | ||
| struct MagSensor * | pthisMag, | ||
| int32_t | loopcounter | ||
| ) |
Definition at line 325 of file magnetic.c.
Referenced by processMagData().
Here is the call graph for this function:
Here is the caller graph for this function:| void fUpdateMagCalibration10 | ( | struct MagCalibration * | pthisMagCal, |
| struct MagBuffer * | pthisMagBuffer, | ||
| struct MagSensor * | pthisMag | ||
| ) |
| void fUpdateMagCalibration10Slice | ( | struct MagCalibration * | pthisMagCal, |
| struct MagBuffer * | pthisMagBuffer, | ||
| struct MagSensor * | pthisMag | ||
| ) |
Definition at line 973 of file magnetic.c.
Referenced by fRunMagCalibration().
Here is the call graph for this function:
Here is the caller graph for this function:| void fUpdateMagCalibration4 | ( | struct MagCalibration * | pthisMagCal, |
| struct MagBuffer * | pthisMagBuffer, | ||
| struct MagSensor * | pthisMag | ||
| ) |
| void fUpdateMagCalibration4Slice | ( | struct MagCalibration * | pthisMagCal, |
| struct MagBuffer * | pthisMagBuffer, | ||
| struct MagSensor * | pthisMag | ||
| ) |
Definition at line 455 of file magnetic.c.
Referenced by fRunMagCalibration().
Here is the call graph for this function:
Here is the caller graph for this function:| void fUpdateMagCalibration7 | ( | struct MagCalibration * | pthisMagCal, |
| struct MagBuffer * | pthisMagBuffer, | ||
| struct MagSensor * | pthisMag | ||
| ) |
| void fUpdateMagCalibration7Slice | ( | struct MagCalibration * | pthisMagCal, |
| struct MagBuffer * | pthisMagBuffer, | ||
| struct MagSensor * | pthisMag | ||
| ) |
Definition at line 686 of file magnetic.c.
Referenced by fRunMagCalibration().
Here is the call graph for this function:
Here is the caller graph for this function:| void iUpdateMagBuffer | ( | struct MagBuffer * | pthisMagBuffer, |
| struct MagSensor * | pthisMag, | ||
| int32_t | loopcounter | ||
| ) |
Definition at line 103 of file magnetic.c.
Referenced by processMagData().
Here is the caller graph for this function: